// activations_aten.cpp 
#include "activations.h"
 
at::Tensor relu_aten(const at::Tensor& input) {
    return at::relu(input);
}
 
at::Tensor sigmoid_aten(const at::Tensor& input) {
    return at::sigmoid(input);
}
 
at::Tensor tanh_aten(const at::Tensor& input) {
    return at::tanh(input);
}
 
at::Tensor leaky_relu_aten(const at::Tensor& input, double negative_slope) {
    return at::leaky_relu(input, negative_slope);
}
 
at::Tensor elu_aten(const at::Tensor& input, double alpha) {
    return at::elu(input, alpha);
}
 
at::Tensor selu_aten(const at::Tensor& input) {
    return at::selu(input);
}
 
at::Tensor gelu_aten(const at::Tensor& input) {
    return at::gelu(input);
}
 
at::Tensor softplus_aten(const at::Tensor& input) {
    return at::softplus(input, 1, 0);
}
 
at::Tensor swish_aten(const at::Tensor& input) {
    return input * at::sigmoid(input);
}
 
at::Tensor mish_aten(const at::Tensor& input) {
    return input * at::tanh(at::softplus(input));
}
